!POP is a POP3 mail transport for use with Freenet/Acorn TCP/IP. It will
fetch EMAIL from one or more POP mailboxes and can also send outgoing
EMAIL (using SMTP).
POP is only a transport - unless you are a massochist you will also need
some mail management/reading software. Newsbase and TTFN are recommended.
!POP stores its mailboxes in standard formats, so other packages may work.
Contents
========
Terms & Conditions
Credits
Features
Requirements
Installation
Configuring from within Newsbase
Use with ANT Internet Suite
POP Users & Mailboxes
POP Settings
In Use - Checking Mail
Sending Mail
BIG DISCLAIMER ON PASSWORD SECURITY! <<<<<<< READ
What are POP and SMTP?
External Interface
Terms & Conditions
==================
(c) Daniel Pead, 1997
!POP may be used and copied freely under the following conditions:
1. It is supplied with this copyright notice intact.
2. No charge may made for supplying it. It may NOT, for example, be
distributed on magazine cover discs, PD library discs or bundled with a
commercial product without explicit permission from me. It may not be
placed on bulletin boards or internet archives which charge a subscription
or use premium rate telephone numbers.
3. Anybody using this software must accept that it is supplied, free-of-
charge, with no warranty for reliability, accuracy or fitness-for-
purpose. It is the user's responsibility to satisfy themselves that this
software is sufficiently reliable for their intended purposes. (There -
some firms make you PAY for a waiver like that!)
Contact
=======
Dan@OctPen.Demon.co.uk
http://www.octpen.demon.co.uk/
Credits
=======
Andy Mell - for !NetLib
Graham Allan - for Newsbase; the "Sendmail" code and testing.
Stuart Brodie - for socket libraries used in early development
Tom Hughes - for Freenet
... and everybody else who helped out with testing.
Features
========
* Almost everything is set up from dialogue boxes
* Can check mail for multiple users & hosts
* Mail can be left on the server (useful for checking
'work' email from home)
* Messages over a certain length can be trapped and skipped or just the
message
header downloaded. The full message can be fetched or deleted later.
* Runs largely in 'background' mode and doesn't lock up your machine
while waiting for the server to respond.
* Includes links to Newsbase.
Requirements
============
* RISC-OS 3.1 or later
* 4MB RAM and a hard disc (the minimum for using internet, really)
* Acorn TCP/IP or Freenet (NOT !TCPIP/KA9Q)
* Newsbase (V0.54 or later) and !TTFN. See the note below for use with
Newsbase 0.55.
If you are using Acorn TCP/IP then it is a good idea to also install the
'InetDB' part of Freenet, which handles address lookups. Otherwise you
must add the internet address of your mail server(s) to !Internet.files.
hosts.
Installation
============
Summary:
1. Install Freenet or Acorn !Internet. (Non trivial! Here's one I prepared
earlier...)
2. Copy !POP, !Newsbase, !TTFN etc. to your hard disc.
3. Copy the POP transport definitions into Newsbase - the program
"NBInstall" in the POP distribution will do this for you. ** Use
NB055Inst if you have Newsbase 0.55 **
4. Either re-start the computer or run the !Boot files within !POP and
!Newsbase so that they can find one another...
5. Configure Newsbase first - Newsbase has extensive on-line help.
6. Run !POP and review the contents of the "Settings" dialogue box. !POP
should have got sensible defaults for most of this from Newsbase.
7. Bring up !POPs "Users" dialogue and add the details of the POP
mailboxes you wish to check. Again - if you added users when you set up
Newsbase this should already be mostly done.
8. Hook up to Internet and choose 'Check Mail' from the !POP menu...
Configuring from within Newsbase
================================
!POP has its own setup dialogues, but it can obtain some of its settings
automatically from Newsbase's system variables, so you'll save time if you
set up Newsbase before running !POP.
1. Site settings:
Host/domain: !POP doesn't use these - best set up manually.
Mailname: The name of your POP server (usually the part of your
EMAIL address following the '@')
Remote: The name of your SMTP gateway machine (often the same
as above.
If this is incompatible with other transports then leave these as is and
override the defaults from within !POP.
2. Users
!POP maintains its own list of usernames, passwords and POP servers. If
you add or delete users from within Newsbase they will also be added or
deleted from !POP's list. You can't set POP passwords or specify POP
servers other than the one supplied in 'Mailname' above from Newsbase,
though.
3. Transports:
* If you want to send outgoing mail via !POP's SMTP transport then set
the 'Default mail transport' to 'POP'.
* Select "Transport properties for -> POP" and turn on "Check for
Arrivals".
* Click on 'Setup' - this should start !POP and bring up the POP settings
dialogue box. Or you could just double-click on !POP if you like...
Unless you have a complex set-up you can probably take the defaults
here and go on to check the User & Mailbox list.
Use with ANT Internet Suite
===========================
If you have the ANT Internet Suite *release 1* then you can use !POP to fetch and send the mail instead of ANT's POP fetcher, gaining the ability to screen out large/previously read messages and check your mail at regular intervals. The mailbox files created by !POP are compatible with Marcel.
Set !POPs incoming mail file name (in the settings dialogue) to:
Inet:Spool.mail.default
and also set the 'Queue directory' to:
Inet:spool.mqueue
** !POP will NOT send outgoing mail from the version of Marcel supplied with
** Release 2 of the ANT suite, nor has the use of !POP to fetch mail for
** Release 2 been tested - these instructions may not apply.
Of course - if you DON'T want to use Marcel, the usual !POP/Newsbase/TTFN
combination is fully compatible with the ANT Internet Suite.
POP Users & Mailboxes
=====================
Choose "Users..." from the !POP iconbar menu.
!POP can check a list of mailboxes on several different machines. Given
that, this dialogue should be pretty obvious...
If you are using Newsbase then you should add new users to Newsbase
*first* (this will also add them to !POP) then bring up the !POP dialogue
to fill in missing details.
User:
The username (e.g. "fbloggs" if address is "fbloggs@wibble.co.uk"). If
the name you enter is not valid as a RISC-OS file name - such as
'fred.bloggs', !POP will turn on the 'Mail file name' option (below) and
suggest an alternative mail file name.
Host:
The hostname (e.g. "wibble.co.uk")
Password:
The password for this mailbox. If you leave this blank then !POP will
prompt for it when you next 'check mail'. See the notes on security
elsewhere in this document.
Keep Password:
If this is selected, !POP will remember the password for this user
between checks. The password is also stored on disc if you click 'Save'.
See the note on "Security" later.
Leave Mail on Server:
If this is selected, then mail messages will NOT be deleted from the
POP server after downloading. Useful if you don't quite trust POP or if
you are reading mail from several different machines (see "Skip...
Previously read" below)
Mail File Name:
Normally, the file 'leaf' name of the incoming mail file created by !POP
is the same as the username. Turn on the 'Mail File Name' check-box and
enter a name here to use a different name.
Use this if your username is not valid as a filename (see above) or if
you want to 'forward' mail for this user to another mail box.
No auto-check:
If you turn this on then this user's mail will only be checked when you
explicitly choose it from the 'Check mail' submenu.
Ignore LAST:
!POP v0.99 and later use the LAST command on the POP3 server to speed
up skipping of previously read messages. I've a sneaking suspicion
that this will cause problems for some people (the RFC document for
POP3 is very woolly about how LAST works anyway) so here's a button
to disable it on a per-user basis. This is only relevant if
'Skip... Previously read' is ON and 'Confirm skips' is OFF in the
Settings dialogue.
Save:
Saves the settings to disc.
Cancel:
*Only* cancels changes to the currently displayed user. Any previous
changes are permanent.
NOTE:
If you add or modify users from within Newsbase, the !Pop.Users file on
disc is modified. !POP re-loads this if it notices that it has been
updated - this may cancel any changes which have been made in !POP since
the file was last saved.
POP Settings
============
The !POP settings dialogue box will appear the first time you run !POP.
You can also get this by choosing "Settings" from the !POP iconbar menu or
hitting 'Setup' from the Newsbase transports control.
Skip messages:
This allows you to avoid downloading huge files or messages that have
already been read. For large messages, !POP will get just the header so
that you can check the sender and subject before downloading the whole
thing.
The "Confirm" option causes POP to bring up a "Delete/Skip/Download/Get
Header" dialogue box (including the subject, sender and length)
whenever it encounters a long/previously read message. (This only happens
if you selected 'check mail' from the menu - on a timed check the message is
still skipped).
If your POP server does not support the "TOP" command then you will not be
able to get headers or preview the sender and subject.
If 'Previously Read' is ON and 'Confirm' is OFF, !POP uses the POP3 command
LAST to find the first unread message. If 'Confirm' is ON (or if LAST
fails) the !POP looks for the 'Status:' messages typically inserted by
POP servers to flag previously read messages. This may not work with
all servers.
Check mail:
While !POP is running, it can make regular checks for new mail. (If you
have a dialup connection then these should fail peacefully while you are
not connected). When making a timed check !POP will surpress certain
prompts for user intervention (like the 'confirm' dialogue above) and take
sensible defaults. You can only do timed checks for users with a stored
password. Errors are sent to the log file.
The 'Use TOP 1 not TOP 0' option circumvents a bug in some POP servers
which returns garbage for the 'TOP 0' command. This is one to try if
!POP is not working for you.
Show Progress:
Brings up a dialogue box which monitors the progress of POP and SMTP
transactions.
Incoming Mail file(s) & Format:
Specifies where the incoming mail is stored. You can include a '*' in
this which will be replaced by the current user name.
Normally, mail is stored in one file per user with the start of each message
marked by the line "From <user> <date>" - a fragile but widely used format
usually refered to as "Berkeley Mailbox".
Three other formats are available:
"Rmail" - messages are delimeted by "#RMail <length>" - this may improve
the speed of the mail reader.
"Ctrl-A" - messages are seperated by Ctrl-A characters
"Debatch" - each user's mailbox is a directory containing seperated
messages in numbered files. Probably not much use just yet (it is also
subject to the dreaded 77 file limit).
Newsbase users should probably stick to "Berkeley" or "RMail" format.
Outgoing mail (SMTP) gateway address:
The internet address of the machine via which all outgoing mail is
sent. If you leave this blank then !POP uses the destination supplied in
each messages' control file (although this feature is untested).
Outgong mail queue directory:
The directory containing the outgoing mail queue :-)
Send queued mail automatically:
If this is on, !POP checks for mail waiting to be sent every 20 seconds
or so, and sends anthing it finds (provided you are on-line).
No icon:
!POPs contribution to the Internet icon bar congestion problem. You
can get the icon back by double-clicking on the !POP application again.
Timeout:
Sets how long !POP will wait for a response from the server. Increase
this if you have a sluggish server. In 'attended' mode, a 'Retry/Abort'
dialogue appears when the time is up. In unattended mode, !POP allows
2 retries, i.e. it the timout is effectively 3 times as long.
In Use
======
Checking Mail
-------------
Run !POP and select "Check Mail" from the iconbar menu. !POP will work
through all the defined mailboxes checking for new arrivals. You can
check a specific mailbox by choosing one from the "Check Mail" submenu.
If any users do not yet have passwords you will be asked for these when
POP comes to check their mailboxes.
If POP is set up to skip long or previously read messages, and the
'confirm' option is set then, when such a message is encountered, you will
be asked if you whish to download the message; download just the header;
skip the message or simply delete it.
!POP won't actually tell you you have new mail unless you have the 'Show
Progress' option set. However, if Newsbase is running it will catch on
within 10 seconds or so and sort & announce the mail.
POP can be set up to check mail at regular intervals. When doing a regular
check, POP will not interrupt you with "Skip/Download/Delete" prompts,
error messages or requests for passwords: Old messages will be skipped;
only the headers of large messages will be fetched; errors written to the
logfile and mailboxes without passwords will not be checked.
If you don't want to leave !POP running, it may be possible to use a
program such as !Alarm to check mail by issuing a command such as:
*wimptask POP -in -quit
Sending Mail
------------
When you send a message using TTFN/Newsbase then the outgoing message is
written to !POPs queue. Pop checks this every 20 seconds or so while the
network is live and will send out any messages it finds. If you can't
wait 20 seconds then choose "Send Queued" from the !POP menu.
As with checking mail - POP only reports errors on screen if you chose
"Send Queued" manually - otherwise, errors are written to the log file.
An external application can start POP and send outgoing mail with:
*wimptask POP -out -quit
BIG DISCLAIMER ON PASSWORD SECURITY!
====================================
!POP stores passwords on disc in a scrambled form. IMHO this is 100%
better than having them in plain text, but please DO NOT overestimate the
security this offers. Since !POP has to be able to decode these passwords
and send them to the server - at which stage they can easily be
intercepted - there seems to be little point in using 'strong' encryption
(using a password to encrypt your password seems to defeat the object
anyway - if you disagree move the 'users' file to a DES-encrypted SparkFS
archive).
For users without the 'Keep Password' option, !POP does not store the
password between checks. However, I would not like to guarantee that the
password could not be fished out of somewhere in RAM with a memory editor.
What are POP and SMTP?
======================
SMTP is the protocol used to exchange EMAIL on the internet - it is not
particularly suitable for getting mail to personal computers because:
(a) They are often switched off or disconnected from the net.
(b) PCs often have no fixed network address - they may get
allocated a different address each time they connect.
(c) What if your main PC is at work, but you sometimes want to
dial in and check your mail from home...?
With POP (Post Office Protocol) your mail arrives at a mailbox on a
central server run by your Internet provider, much like the bad old days
when you had to log in from a terminal and type 'mail' to see it. POP
allows your PC to log in automatically, collect any new mail and log
out.
Standard POP has no facilities for SENDING mail - outgoing mail is sent
using SMTP to a 'mail gateway' (often the same machine that holds your POP
mailbox).
It's much easier to send SMTP mail than to receive it.
Note - some Internet providers, showing great foresight also use "PoP" as
an acronym for "Point of Presence". This has nothing to do with POP.
External Interface
==================
This section is rather crypric, but might help people wanting to tweak the
Newsbase transport definitions or use a different mailreader.
Directory and File names
------------------------
... Kept in !POP.!Defaults. Currently set up to take sensible values from
Newsbase.
Outgoing Mail
-------------
Same format as KA9Q - numbered text and work files, 'sequence' file with